package com.cmc.cloud.cmclink.doc.vo.manifestvo.manifestcargo;

import com.cmes.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import static com.cmes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * 舱单货物信息分页 Request VO
 *
 * @author chenzheng
 */
@Schema(description = "管理后台 - 舱单货物信息分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ManifestCargoPageReqVO extends PageParam {

    @Schema(description = "外键", example = "26876")
    private Long manifestId;

    @Schema(description = "货类", example = "2")
    private String cargoType;

    @Schema(description = "HS Code")
    private String hsCode;

    @Schema(description = "英文品名")
    private String commodityEn;

    @Schema(description = "中文品名")
    private String commodityCn;

    @Schema(description = "预估毛重（kgs）")
    private Long grossWeight;

    @Schema(description = "温度（℃） 温度范围在-25℃至25℃ 之间。")
    private String temperature;

    @Schema(description = "通风度 开度（% Open，范围0~100%）；风量（CHM，单位：m³/h，范围0~999）")
    private String vantilation;

    @Schema(description = "unno")
    private String unNo;

    @Schema(description = "imoclass")
    private String imoClass;

    @Schema(description = "闪点特种货带过来的")
    private String flashPoint;

    @Schema(description = "包装组别三个选项：Ⅰ、Ⅱ、Ⅲ")
    private String packingGroup;

    @Schema(description = "唛头")
    private String marks;

    @Schema(description = "件数")
    private Integer quantity;

    @Schema(description = "尺寸")
    private BigDecimal measurement;

    @Schema(description = "包装代码")
    private String packageCode;

    @Schema(description = "包装描述")
    private String packageDesc;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}
